home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / hf^k-5.dms / in.adf / Fastlib.Lha / Examples / Standardbeispiele / SpeedTest / SpeedTest-stormamiga.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-12-14  |  4.5 KB  |  193 lines

  1. /*****************************************
  2. **                                                                            **
  3. **                            SpeedTest                                **
  4. **                                                                            **
  5. **            Kopierrecht bei COMPIUTECK             **
  6. **                                                                            **
  7. **        Geschrieben von Matthias Henze        **
  8. **                                                                            **
  9. *************** © 01/12/96 **************/
  10.  
  11. #ifdef __STORM__
  12.     #include <stormamiga.h>
  13.     #define scanf scanf_
  14.     #define main main__
  15. #else
  16. #include <stdio.h>
  17. #include <time.h>
  18. #endif
  19.  
  20. #include <math.h>
  21. #include <clib/exec_protos.h>
  22.  
  23. clock_t timestart;
  24. double z = 0;
  25.  
  26. void end (void)
  27. {
  28. double y;
  29. clock_t timeend;
  30.     timeend = clock ();
  31.     printf ("Benötigte Zeit: %.5g  s\n", (y = (timeend - timestart)) / 50);
  32.     z = z + y;
  33. }
  34.  
  35. void main (void)
  36. {
  37.     double *d, x;
  38.     double a = 80.9394;
  39.     double b = -80.9394;
  40.     int *e, i, loop;
  41.  
  42. printf("\nGeben Sie bitte die Anzahl der Testdurchläufe an: "); fflush (stdout);
  43. scanf("%ld",&loop);
  44.  
  45. Forbid ();
  46.  
  47. /*--fabs--*/
  48. printf ("fabs (80.9394)\n");
  49. timestart = clock ();
  50.     for (i = 1; i < loop; i++)
  51.         x = fabs (a);
  52. end();
  53. printf ("Der absolute Betrag von 80.9394 sollte 80.9394 sein und ist: %g\n\n", x);
  54.  
  55. printf ("fabs (-80.9394)\n");
  56. timestart = clock ();
  57.     for (i = 1; i < loop; i++)
  58.         x = fabs (b);
  59. end();
  60. printf ("Der absolute Betrag von -80.9394 sollte 80.9394 sein und ist: %g\n\n", x);
  61.  
  62. /*--floor--*/
  63. printf ("floor (80.9394)\n");
  64. timestart = clock ();
  65.     for (i = 1; i < loop; i++)
  66.         x = floor (a);
  67. end();
  68. printf ("Die nächstkleinere Ganzzahl von 80.9394 sollte 80 sein und ist: %g\n\n", x);
  69.  
  70. printf ("floor (-80.9394)\n");
  71. timestart = clock ();
  72.     for (i = 1; i < loop; i++)
  73.         x = floor (b);
  74. end();
  75. printf ("Die nächstkleinere Ganzzahl von -80.9394 sollte -81 sein und ist: %g\n\n", x);
  76.  
  77. /*--sqrt--*/
  78. printf ("sqrt (9)\n");
  79. timestart = clock ();
  80.     for (i = 1; i < loop; i++)
  81.         x = sqrt (9);
  82. end();
  83. printf ("Die Quadratwurzel von 9 sollte 3 sein und ist: %g\n\n", x);
  84.  
  85. printf ("sqrt (-9)\n");
  86. timestart = clock ();
  87.     for (i = 1; i < loop; i++)
  88.         x = sqrt (-9);
  89. end();
  90. printf ("Die Quadratwurzel von -9 sollte NaN (Not a Number) sein und ist: %g\n\n", x);
  91.  
  92. /*--ceil--*/
  93. printf ("ceil (80.9394)\n");
  94. timestart = clock ();
  95.     for (i = 1; i < loop; i++)
  96.         x = ceil (a);
  97. end();
  98. printf ("Die nächstgrößere Ganzzahl von 80.9394 sollte 81 sein und ist: %g\n\n", x);
  99.  
  100. printf ("ceil (-80.9394)\n");
  101. timestart = clock ();
  102.     for (i = 1; i < loop; i++)
  103.         x = ceil (b);
  104. end();
  105. printf ("Die nächstgrößere Ganzzahl von -80.9394 sollte -80 sein und ist: %g\n\n", x);
  106.  
  107. /*--frexp--*/
  108. printf ("frexp (9)\n");
  109. timestart = clock ();
  110.     for (i = 1; i < loop; i++)
  111.         x = frexp (9,(void *) &e);
  112. end();
  113. printf ("Die Mantisse von 9 sollte 0.5625 sein und ist: %g\n", x);
  114. printf ("Der Exponent von 9 sollte 4 sein und ist: %d\n\n", e);
  115.  
  116. printf ("frexp (88)\n");
  117. timestart = clock ();
  118.     for (i = 1; i < loop; i++)
  119.         x = frexp (88,(void *) &e);
  120. end();
  121. printf ("Die Mantisse von 88 sollte 0.6875 sein und ist: %g\n", x);
  122. printf ("Der Exponent von 88 sollte 7 sein und ist: %d\n\n", e);
  123.  
  124. /*--modf--*/
  125. printf ("modf (80.9394)\n");
  126. timestart = clock ();
  127.     for (i = 1; i < loop; i++)
  128.         x = modf (a,(void *) &d);
  129. end();
  130. printf ("Der Nachkommateil von 80.9394 sollte 0.9394 sein und ist: %g\n", x);
  131. printf ("Der Vorkommateil von 80.9394 sollte 80 sein und ist: %g\n\n", d);
  132.  
  133. printf ("modf (-80.9394)\n");
  134. timestart = clock ();
  135.     for (i = 1; i < loop; i++)
  136.         x = modf (b,(void *) &d);
  137. end();
  138. printf ("Der Nachkommateil von -80.9394 sollte -0.9394 sein und ist: %g\n", x);
  139. printf ("Der Vorkommateil von -80.9394 sollte -80 sein und ist: %g\n\n", d);
  140.  
  141. /*--fmod--*/
  142. printf ("fmod (5.7, 1.5)\n");
  143. timestart = clock ();
  144.     for (i = 1; i < loop; i++)
  145.         x = fmod (5.7,1.5);
  146. end();
  147. printf ("Das Ergebnis dieser Funktion sollte 1.2 sein und ist: %g\n\n", x);
  148.  
  149. printf ("fmod (-5.7, 1.5)\n");
  150. timestart = clock ();
  151.     for (i = 1; i < loop; i++)
  152.         x = fmod (-5.7,1.5);
  153. end();
  154. printf ("Das Ergebnis dieser Funktion sollte -1.2 sein und ist: %g\n\n", x);
  155.  
  156. /*--ldexp--*/
  157. printf ("ldexp (9, 3)\n");
  158. timestart = clock ();
  159.     for (i = 1; i < loop; i++)
  160.         x = ldexp (9,3);
  161. end();
  162. printf ("Das Produkt von 9 * (2³) sollte 72 sein und ist: %g\n\n", x);
  163.  
  164. printf ("ldexp (-9, 3)\n");
  165. timestart = clock ();
  166.     for (i = 1; i < loop; i++)
  167.         x = ldexp (-9,3);
  168. end();
  169. printf ("Das Produkt von -9 * (2³) sollte -72 sein und ist: %g\n\n", x);
  170.  
  171. /*--cos--*/
  172. printf ("cos (0)\n");
  173. timestart = clock ();
  174.     for (i = 1; i < loop; i++)
  175.         x = cos (0);
  176. end();
  177. printf ("Der Cosinus von 0 sollte 1 sein und ist: %g\n\n", x);
  178.  
  179. printf ("cos (1)\n");
  180. timestart = clock ();
  181.     for (i = 1; i < loop; i++)
  182.         x = cos (1);
  183. end();
  184. printf ("Der Cosinus von 1 sollte 0.540302 sein und ist: %g\n\n", x);
  185.  
  186. Permit ();
  187.  
  188. printf ("Gesamtzeit für %d Durchgänge: %.5g  s\n", loop, z);
  189.  
  190. exit (0);
  191.  
  192. }
  193.